extends 数据基类
class_name 属性数据类

@export var 属性id:String
@export var 属性名:String
@export var 属性图标:Texture
@export var 初始值:float=0
@export var 最小值:float=0
@export var 最大值:float=0
@export var 加成值:float=0
@export var 当前值:float=0:
	set(value):	
		if value>最大值:
			value=最大值
		elif value<最小值:
			value=最小值
		if 当前值!=value:
			当前值=value
			属性变化.emit()
			终点判定()
@export var 终点值:float=0
@export var 终点所属卡牌变化数据:Dictionary={}
@export var 终点生成卡牌数据:Dictionary={}

signal 所属卡牌变化(变化数据)
signal 生成卡牌(卡牌列表)
signal 属性变化
#***************************初始化属性***************************
func 初始化(数据:Dictionary):
	属性id=数据.id
	属性名=数据.属性名
	最大值=数据.最大值
	初始值=数据.初始值
	加成值=数据.加成值
	终点值=数据.终点值
	属性图标=GameResource.获取图片(数据.属性图标)
	终点所属卡牌变化数据=数据.终点所属卡牌变化数据
	终点生成卡牌数据=数据.终点生成卡牌数据
	当前值=初始值
#***************************基类方法***************************
func 当经历时间(分钟数:int):
	当前值+=(加成值*分钟数/15)
#***************************属性方法***************************	
func 终点判定():
	if 当前值==终点值:
		生成卡牌.emit(终点生成卡牌数据)
		所属卡牌变化.emit(终点所属卡牌变化数据)
